package com.xbongbong.paas.pojo.workflow.settings.dto;

import com.xbongbong.paas.pojo.dto.OptionalRangeDTO;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author 吴峰
 * @date 2021/05/10 15:07
 */
@Setter
@Getter
@ToString
public class WorkflowUpdateDTO extends BaseDTO {
    private static final long serialVersionUID = 160273257151906025L;

    @NotNull(message = "{dto.msg.workflowId.NotNull}")
    private Long workflowId;



    /**
     * 审批结束后是否允许编辑，选择允许，提交人可以再次编辑审批后内容；选择不允许，提交人不可以再次编辑审批后内容，数据权限是全公司的人除外
     */
    private Integer allowEditAfterFinished;

    /**
     * 是否允许撤回，1允许，0不允许
     */
    private Integer allowWithdraw;

    /**
     * 是否允许查看日志，1允许，0不允许
     */
    private Integer allowViewLog;

    /**
     * 是否允许查看整个流程，1允许，0不允许
     */
    private Integer allowViewWhole;

    /**
     * 审批人为空处理类型：1超管转交处理，2自动通过，3自动拒绝
     */
    private Integer emptyApproverType;

    /**
     * 审批人去重，1：同一个审批人在流程中出现多次时，仅保留第一个；2：同一个审批人仅在连续出现时，自动去重 ;3:不启用自动去重  默认为3
     */
    private Integer approverDedup;

    /**
     * 发起人是审批人时是否通过，0：否；1：是
     */
    private Integer autoApprovedPass;

    /**
     * 无需审批
     */
    private List<OptionalRangeDTO> rolesWithoutApprove;

}
